import axios from 'axios'

import { Vue_App_Token } from '@/utils/config'
import { getCookie } from '@/utils/Storage.js'

// 封装 Axios 实例
const request = axios.create({
  baseURL: process.env.VUE_APP_BASE_API,
  timeout: 50000, // 请求超时时间
  headers: {
    // 全局请求-请求头
    'Content-Type': 'application/x-www-form-urlencoded',
  },
})

// 请求拦截器
request.interceptors.request.use(
  (config) => {
    console.log(config)
    // 在发送请求之前做些什么
    // 可以在这里添加一些全局的请求处理逻辑

    // 全局请求 Token 添加
    config.headers['Authorization'] = `${getCookie(Vue_App_Token)}`

    console.log(config)
    return config
  },
  (error) => {
    // 对请求错误做些什么
    return Promise.reject(error)
  },
)

// 响应拦截器
request.interceptors.response.use(
  (response) => {
    return response.data
  },
  (error) => {
    return Promise.reject(error)
  },
)

export default request
